#pragma once

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

typedef int STDataType;
typedef struct Stack {
    STDataType* array;
    int top;
    int capacity;
}Stack;

void  StackInit(Stack* ps);
void  StackDestory(Stack* ps);

void  StackPush(Stack* ps, STDataType val);
void  StackPop(Stack* ps);

bool  StackEmpty(Stack* ps);
int  StackSize(Stack* ps);
STDataType  StackTop(Stack* ps);